<template>
    <view>
        <view class="goods-list">
            <view v-for="(item, i) in goodsList" :key="i" @click="gotoDetail(item)">
                <!-- 为 my-goods 组件动态绑定 goods 属性的值 -->
                <my-goods :goods="item"></my-goods>
            </view>
        </view>
    </view>
</template>

<script>
export default {
    data() {
        return {
            queryObj: {
                query: '',
                cid: '',
                pagenum: 1,
                pagesize: 10
            },
            goodsList: [],
            //总数量
            total: 0,
            //是否正在请求数据
            isloading: false
        };
    },
    onLoad(options) {
        (this.queryObj.query = options.query || ''), (this.queryObj.cid = options.cid || '');
        this.getGoodsList();
    },
    methods: {
        async getGoodsList(cb) {
            this.isloading = true;
            const { data: res } = await uni.$http.get('/goods/search', this.queryObj);
            this.isloading = false;
            cb && cb();
            if (res.meta.status !== 200) return uni.$showMsg();
            this.goodsList = [...this.goodsList, ...res.message.goods];
            this.total = res.message.total;
        },
         gotoDetail(obj){
             uni.navigateTo({
                 url:'/subpkg/goods_detail/goods_detail?goods_id='+obj
                 .goods_id
             })
         }
    },
    // 触底的事件
    onReachBottom() {
        // 判断是否还有下一页数据
        if (this.queryObj.pagenum * this.queryObj.pagesize >= this.total) return uni.$showMsg('数据加载完毕！');
        if (this.isloading) return;
        this.queryObj.pagenum += 1;
        this.getGoodsList();
    },
    onPullDownRefresh() {
        // 1. 重置关键数据
        this.queryObj.pagenum = 1;
        this.total = 0;
        this.isloading = false;
        this.goodsList = [];
        console.log(123);
        // 2. 重新发起请求
        this.getGoodsList(() => uni.stopPullDownRefresh());
    },
};
</script>

<style lang="scss"></style>
